package exception;

/**
 * finally块
 * finally块是异常处理机制的最后一块 它可以直接跟在try语句之后或者最后第一个catch之后
 *
 * finally的特点
 * 只要执行到try语句块中 无论try中是否出现异常 finally最后都必须执行
 * 通常我们会将释放资源这类操作放在finally中确保最后一定会被执行，例如IO操作后的close()
 */
public class FinallyDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");

        try {
            String line = "null";
            System.out.println(line.length());
            return;
        } catch (Exception e) {
            System.out.println("出错了");
        } finally {
            System.out.println("finally中的代码执行了");
        }
        System.out.println("程序结束了");
    }
}
